package com.group.eams.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.group.eams.pojo.dto.FixedAssetQueryDto;
import com.group.eams.pojo.entity.FixedAsset;
import com.group.eams.pojo.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author 恩哲欣
* @description 针对表【fixed_asset(固定资产表)】的数据库操作Mapper
* @createDate 2024-10-29 16:09:34
* @Entity com.group.eams.pojo.entity.FixedAsset
*/
public interface FixedAssetMapper extends BaseMapper<FixedAsset> {

    /**
     * 查询所有
     * @return
     */
    List<FixedAsset> findAll();

    /**
     * 分页查询
     * @param page
     * @param fixedAssetQueryDto
     * @return
     */
    Page<FixedAssetListVo> findByQueryDto(Page<FixedAssetListVo> page, @Param("fixedAssetQueryDto") FixedAssetQueryDto fixedAssetQueryDto);

    /**
     * 根据编号查询
     * @param id
     * @return
     */
    FixedAssetAccountVo findAssetAccountById(Long id);

    /**
     * 根据id查询维保信息
     * @param id
     * @return
     */
    FixedAssetMaintenVo findAssetMaintenById(Long id);

    /**
     * 根据编号查询采购信息
     * @param id
     * @return
     */
    FixedAssetPurchaseVo findPurchaseByAssetId(Long id);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    FixedAsset findById(Long id);

    /**
     * 根据id查询基础信息
     * @param id
     * @return
     */
    FixedBasicAssetVo findBasicById(Long id);

    /**
     * 更新
     * @param fixedAsset
     * @return
     */
    int update(FixedAsset fixedAsset);

    /**
     * 新增
     *
     * @param fixedAsset
     * @return
     */
    @Override
    int insert(FixedAsset fixedAsset);
}
